package com.example.dingtalk.service;

import com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceResponse;
import com.aliyun.dingtalkworkflow_1_0.models.ListProcessInstanceIdsResponseBody;
import com.example.dingtalk.entity.Approve;
import com.example.dingtalk.entity.Form;
import com.example.dingtalk.entity.User;

public interface OaService {

    void commitApprove(User user, Form form) throws Exception;

    GetProcessInstanceResponse getProcessInstance(String processInstanceId) throws Exception;

    void executeProcessInstance(Approve approve) throws Exception;

    ListProcessInstanceIdsResponseBody.ListProcessInstanceIdsResponseBodyResult getProcessListByPage(Long startTime, String processCode, Long nextToken, Long maxResults, String statuses) throws Exception;

    String getAccessToken() throws Exception;
}
